home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Ham Radio 2000
/
Ham Radio 2000.iso
/
ham2000
/
bbs
/
g3wcs206
/
sysop.doc
< prev
Wrap
Text File
|
1992-09-18
|
18KB
|
393 lines
SERVER PROGRAMS (VERSION 2) FOR FBB SOFTWARE
============================================
FOR FBB V 5.14D AND LATER
=========================
WRITTEN BY KEN WOOD (G3WCS)
===========================
OVERVIEW
========
This SysOp document describes my VERSION 2 REQDIR, REQFIL and FNDFIL
server programs, which are designed to work with F6FBB BBS software
version 5.14d and later. Various changes made in FBB 5.14d, which are
described later, mean that these servers will not run with earlier FBB
versions, nor will they work with BBS software written by other
authors.
Those wishing to run FBB prior to 5.14d should use my version 1.08
servers, which are still available.
The REQDIR and REQFIL servers operate in a similar manner to other
servers bearing the same name. However, there are advanced features
which will be described later. The FNDFIL server has the ability to
read all files in a specified directory and return the names of files
containing a certain search string. For example, a directory called
C:\MODS\ASCII could be scanned for files containing the string TS830S.
In view of the fact that these servers provide extended facilities, the
setting up is more complex than before. Please read and refer to these
instructions during installation. By far the majority of "problem"
calls I receive are due to people setting up my servers either with no
documentation or with out of date information from a previous release.
OPERATION
=========
These servers rely on a number of actions which automatically occur
when F6FBB software is running. Please note at this point that these
servers function in a different manner to my previous (V1.nn) programs.
A section detailing conversion is contained later on.
When a message addressed to one of the servers is received by the BBS,
it is automatically exported to a small disk file. Immediately after
that the server program is called by the BBS. The server program reads
the exported file and performs whatever actions are required. The
result is formulated into a specially formatted message and appended to
a file called MAIL.IN. The very next minute, the FBB BBS imports
MAIL.IN and this becomes the reply message(s) to the user.
One important fact to be aware of is that MAIL.IN cannot be imported
whilst you are connected to the local console (F2). You must
disconnect from the console by entering (B) before the import can
begin.
CHANGING FROM V1.nn to V2.nn SERVERS
====================================
If you are not running my version 1.nn servers please skip this section
and go on to BASIC INSTALLATION.
The new servers do not require the entries in BBS.SYS, CRON.SYS or
FORWARD.SYS that were used before. Accordingly, remove the words
REQDIR, REQFIL and FNDFIL from BBS.SYS. Be careful not to remove the
complete line. For example, if your BBS.SYS showed :-
.
40 REQDIR
41 REQFIL
42 FNDFIL
.
it should now show :-
.
40
41
42
.
Next, remove the lines from CRON.SYS which refer to running the REQDIR,
REQFIL and FNDFIL programs. Finally, remove the lines from FORWARD.SYS
which deal with the exporting of messages addressed to REQDIR, REQFIL
and FNDFIL to disk.
Don't forget to delete the old versions of REQDIR.EXE, REQFIL.EXE and
FNDFIL.EXE from your hard disk.
And most importantly, make all your changes to system files with a
plain ASCII text editor. Do not use a word processor which might place
embedded control codes in the text and beware of those that place a
CONTROL Z or end of file marker at the end of the text.
BASIC INSTALLATION
==================
This section tells you how to install the servers and get them working.
All the smart actions and SysOp configurable text will be covered
later.
1. Take the BBS completely off line.
2. Make a backup of your new server distribution disk.
3. Copy the new versions of REQDIR.EXE, REQFIL.EXE and FNDFIL.EXE from
the distribution disk to whichever directory you run your BBS from.
This will normally be C:\FBB or perhaps C:\FBB\BIN. This should be the
same directory that contains INIT.SRV, as the programs need to access
that file. Delete ALL previous versions of these servers from both the
FBB and BIN directories.
4. Edit INIT.SRV to include the new servers. Near to the end of
INIT.SRV is a section where the servers that are called by the BBS are
listed. Add lines similar to the following :-
#Liste des services :
#
#
#Desti Nom du programme Description
#
REQDIR C:\FBB\REQDIR.EXE REQuest DIRectory server
REQFIL C:\FBB\REQFIL.EXE REQuset FILe server
FNDFIL C:\FBB\FNDFIL.EXE FiND FILe server
#
#
#
There may be other servers listed here. Ensure that there is only one
line referring to each of the servers. This listing will be shown when
the PS command is entered at the BBS prompt.
At this point it is worthwhile checking the line which deals with the
drives available to the user.
From V5.14d, FBB allows up to eight (A to H) real or virtual disk
drives or sub-directories to be defined by the SysOp. There is a
replacement line in INIT.SRV which defines this.
Here is an example :-
# Directories utilisateurs (C: D: E: etc)
*,*,D:\FBB\USERS\,C:\DOCS\ or * * D:\FBB\USERS\ C:\DOCS\
In this example (an asterisk means unavailable drive), drives a: and b:
are not used or available. It is important at this point to realise
that a: and b: do NOT refer to REAL drives a: and b:. They could be
defined as any drive and path. Moving along the line, drive c: is
really D:\FBB\USERS\ and drive d: is C:\DOCS\.
This means that if a user connects to the BBS, enters DOS and types C:,
he will really be in the D:\FBB\USERS\ sub directory. Likewise, if he
sends a REQDIR, REQFIL or FNDFIL message to D:\, the C:\DOCS\ area will
be used. In this way, you can make a user believe that he is in a
real drive, when in fact he is in a sub directory of your choice.
In the above example, only two drives have been defined, but up to
eight may be used. All leading drives that are not used must be
replaced by an asterisk, but those after used drives may be left out.
Thus, the line :-
*,*,D:\FBB\USERS\,C:\DOCS,*,*,*,*
is identical to the examples above.
You may use either commas or spaces between the drive entries but do
not place a trailing comma at the end of the line by mistake. If using
asterisks, ensure the is no phantom space before the carriage ruturn at
the end of the line.
PROGRAM ACTION
==============
The servers generate messages for the senders of requests, either in
the form of the requested data or messages offering advice if they have
their input wrong. These responses are contained within the program
but may be overridden by SysOp configurable text in the form of ASCII
files. These will be detailed later.
In the event that a SysOp configuration error is made or the program
cannot access an essential system file, it will abort without causing
any detrimental effect to the normal BBS operation.
If you would like to report some strange happening to me, please quote
the version number of the software. You can see this by typing REQDIR,
REQFIL or FNDFIL from a DOS prompt, without adding any other text.
ADVANCED INSTALLATION AND OPERATION
===================================
Each of the three servers may provide advanced facilities if you add
some extra ASCII files in the same directory or DOS path as the server
programs. If these files do not exist, default operation will occur
and all responses contained within the program code will be used.
The three servers have different facilities and will be dealt with
separately.
[REQDIR.EXE] - (REQDIR.LBL)
One of the main changes to REQDIR is the ability to send the user the
FBB labels with his directory listing. These are the labels that are
shown when a live user issues the LIST command. In order to make this
aspect work, you must create an ASCII file called REQDIR.LBL. This
file contains the full paths on your hard disk for which labels will be
sent. Here is an example :-
D:\USERS\SOFTWARE.WCS\
D:\USERS\NWPUG\
D:\USERS\GENERAL\
Please note that these are the REAL paths on your hard disk, not the
pseudo paths entered by the user as part of his request. Don't forget
the trailing slashes. A further example file is on the distribution
disk.
In the above example, any REQDIR for one of the three directories
listed will result in the reply message containing labels, provided
they exist. If a REQDIR is made for a different directory, the return
message will be a conventional REQDIR four column file listing. This
will also be the case if the file REQDIR.LBL does not exist.
From the above, you can see that it is possible to fully customise your
system and provide a labelled listing for any directory you wish.
[REQDIR] - (REQDIR.ERR)
If this file exists, the text will be sent to a user who does not
provide a title containing any drive, path or wild-card. As with all
of these ASCII files, the program's default text will be sent if they
do not exist. An example file of this and all the other ASCII files is
contained on the distribution disk.
[REQDIR] - (REQDIR.DRV)
If this file exists, the text will be sent to a user who specifies an
invalid or out of range disk drive.
[REQDIR] - (REQDIR.HLP)
If this file exists, the text will be sent to a user following a
successful REQDIR operation.
[REQFIL] - (REQFIL.ERR)
If this file exists, the text will be sent to a user who does not
provide a title containing any drive, path or wild-card.
[REQFIL] - (REQFIL.DRV)
If this file exists, the text will be sent to a user who specifies an
invalid or out of range disk drive.
[REQFIL] - (REQFIL.HLP)
If this file exists, the text will be sent to a user who has specified
an incorrect path or filename.
[REQFIL] - (REQFIL.DWN)
If this file exists, the text will be sent after a REQFIL has been
completed. Such a file could just contain one line, such as :-
[*** Downloaded from GB7CHS ***]
or could contain several lines, for example :-
[Thank you for downloading this file from GB7CHS]
[Please consider uploading something for the]
[benefit of other users. 73, G3WCS SysOp]
Obviously, the square brackets above are cosmetic.
If REQFIL.DWN does not exist, nothing is appended to the end of the
user's REQFIL.
[FNDFIL] - (FNDFIL.ERR)
If this file exists, the text will be sent to a user who does not
provide a title containing any drive, path or wild-card.
[FNDFIL] - (FNDFIL.DRV)
If this file exists, the text will be sent to a user who specifies an
invalid or out of range disk drive.
[FNDFIL] - (FNDFIL.HLP)
If this file exists, the text will be sent to a user whose request has
produced a satisfactory response.
[FNDFIL] - (FNDFIL.NIL)
If this file exists, the text will be sent to a user whose request was
basically correct in DOS terms, but has not found any matching files.
[ALL THREE SERVERS] - (SALUT.SYS)
This is the only text file to be read by all three servers. If it
exists, the text will replace the SysOp salutations sent by each
server. In my case it would replace the following text, which was
originally read from INIT.SRV :-
Best 73,
Ken G3WCS
SysOp GB7CHS.
REPLY MESSAGE SIZE
==================
One major change to REQFIL and REQDIR is that the reply message size is
checked. In the case of REQFIL, if the file exceeds approx 4 Kb, each
chunk will be sent as a separate message. One great SysOp benefit is
that he no longer has to manually break up files into small sections.
The server will do that automatically.
The REQDIR server will generate separate reply messages if the number
of files with labels exceeds 80, in the case of a labelled reply, or
exceeds 112, in the case of a conventional directory listing.
I hope that this new facility will save SysOp's the problem of having
to split up long files. The maximum number of files that may be
contained in any one directory is 255.
TECHNIQUE
=========
Obviously, the tailoring of personal responses can be as detailed or
brief as you care to make them. In this way you can make your BBS very
personalised. If, for example, you did not wish your BBS to send any
information, not even the default program details, you could create the
files listed above and simply make each one a blank line !!
The servers are coded in Turbo C++ which is a very fast language, but
it cannot compensate for an overloaded XT or slow hard disk. This is
especially important in the case of the FNDFIL server which must read
every character of every line of every file in a given directory. If
you have a slow system you should give consideration to splitting up
your file directories into small sub-directories, each with a lesser
number of files.
These servers do not require a great deal of memory in which to run.
Your free memory can be determined by the Ok: nnnnnn figure on the
status line. From my experience it is better not to let this value
fall below 100 Kb. Although these servers will work quite happily in
less, there are many servers of different types that will not.
WHY CHANGES ?
=============
The reason that I have moved away from CRON.SYS operated servers is due
to popular request. Most SysOps now want a server to run, produce a
result and complete operation immediately. The thing that finally
convinced me to change technique was the new FBB "message hold"
facility. Using this facility within the REJET.SYS file, it would be
possible to hold all outgoing messages from your BBS until you were
there to release them. Unfortunately, at present, FBB will not hold
incomming messages addressed to a server defined in INIT.SRV.
USER HELP
=========
The format of user input messages is contained in the other textfiles
supplied with this distribution. They are written separately in order
that they may be placed in a files area on your BBS or sent via packet.
PASSING THEM ON
===============
These programs are released into the public domain and you are free to
pass them on to others, provided no charge either material or implied
is levied. My only stipulation is that the original archive is handed
on. This is to ensure that new users will not only have the required
documentation but also that it will be current and not from some
superceded package.
Software passed on in contravention of the above will not be supported.
FINALLY
=======
Please report any problems or strange happenings to me by packet radio.
Any constructive suggestions as to how to improve the programs are
always welcome.
Ken Wood G3WCS.
SysOp GB7CHS.#11.GBR.EU
Cheshire NTS Mailbox.
Modem Port - 0606 892326
Outside UK - +44 606 892326
V 2.05 - 18th September 1992
SYSOP.DOC